package com.wrater.zero.common.base.vo;

import com.wrater.zero.common.base.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;

/**
 * 所有VO类继承此类,重写方法
 * (在后续需要拷贝对象属性时,调用此方法即可)
 * @param <<T, E>
 */
@Data
public abstract class BaseForm<T extends  BaseForm, E extends BaseEntity> {


    @ApiModelProperty(value = "当前页")
    protected Integer pageIndex;

    @ApiModelProperty(value = "每页数量")
    protected Integer pageSize;


    /**
     * 获取entity实例
     * @return 返回vo对应实体类
     */
    public abstract E buildEntity();




}